//package org.assertj.ohos.api.view;
//
//import ohos.annotation.TargetApi;
//import ohos.view.KeyCharacterMap;
//import org.assertj.core.api.AbstractAssert;
//
//import static ohos.os.Build.VERSION_CODES.HONEYCOMB;
//import static ohos.view.KeyCharacterMap.ALPHA;
//import static ohos.view.KeyCharacterMap.FULL;
//import static ohos.view.KeyCharacterMap.NUMERIC;
//import static ohos.view.KeyCharacterMap.PREDICTIVE;
//import static ohos.view.KeyCharacterMap.SPECIAL_FUNCTION;
//import static org.assertj.ohos.internal.BitmaskUtils.buildNamedValueString;
//import static org.assertj.core.api.Assertions.assertThat;
//
//public class KeyCharacterMapAssert extends AbstractAssert<KeyCharacterMapAssert, KeyCharacterMap> {
//  public KeyCharacterMapAssert(KeyCharacterMap actual) {
//    super(actual, KeyCharacterMapAssert.class);
//  }
//
//  public KeyCharacterMapAssert hasKeyboardType(@KeyCharacterMapKeyboardType int type) {
//    isNotNull();
//    int actualType = actual.getKeyboardType();
//    //noinspection ResourceType
//    assertThat(actualType) //
//        .overridingErrorMessage("Expected keyboard type <%s> but was <%s>.",
//            keyboardTypeToString(type), keyboardTypeToString(actualType)) //
//        .isEqualTo(type);
//    return this;
//  }
//
//  @TargetApi(HONEYCOMB)
//  public KeyCharacterMapAssert hasModifierBehavior(int value) {
//    isNotNull();
//    int actualValue = actual.getModifierBehavior();
//    assertThat(actualValue) //
//        .overridingErrorMessage("Expected modifier behavior <%s> but was <%s>.", value,
//            actualValue) //
//        .isEqualTo(value);
//    return this;
//  }
//
//  public static String keyboardTypeToString(@KeyCharacterMapKeyboardType int type) {
//    return buildNamedValueString(type)
//        .value(NUMERIC, "numeric")
//        .value(PREDICTIVE, "predicive")
//        .value(ALPHA, "alpha")
//        .value(FULL, "full")
//        .value(SPECIAL_FUNCTION, "specialFunction")
//        .get();
//  }
//}
